home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 52
/
Aminet 52 (2002)(GTI - Schatztruhe)[!][Dec 2002].iso
/
Aminet
/
game
/
think
/
AmiChess.lha
/
AmiChess
/
src
/
hung.c
< prev
next >
Wrap
C/C++ Source or Header
|
2002-10-31
|
835b
|
26 lines
#include "common.h"
short EvalHung(short side)
{
BitBoard c;
short xside;
xside=1^side;
hunged[side]=0;
c=(Ataks[xside][pawn]&board.b[side][knight]);
c|=(Ataks[xside][0]&board.b[side][knight]&~Ataks[side][0]);
if(c) hunged[side]+=nbits(c);
c=(Ataks[xside][pawn]&board.b[side][bishop]);
c|=(Ataks[xside][0]&board.b[side][bishop]&~Ataks[side][0]);
if(c) hunged[side]+=nbits(c);
c=Ataks[xside][pawn]|Ataks[xside][knight]|Ataks[xside][bishop];
c=(c&board.b[side][rook]);
c|=(Ataks[xside][0]&board.b[side][rook]&~Ataks[side][0]);
if(c) hunged[side]+=nbits(c);
c=Ataks[xside][pawn]|Ataks[xside][knight]|Ataks[xside][bishop]|Ataks[xside][rook];
c=(c&board.b[side][queen]);
c|=(Ataks[xside][0]&board.b[side][queen]&~Ataks[side][0]);
if(c) hunged[side]+=nbits(c);
if(Ataks[xside][0]&board.b[side][king]) hunged[side]++;
return hunged[side];
}